Bu yaz²da Visual Basic 5.0 ile ilgili tⁿm yenilikleri bulamayacaks²n²z, fakat yeni VBÆnin ÷zelliklerini g÷rⁿrken, MicrosoftÆun Internet stratejilerinde ne kadar ciddi oldu≡unun bir kez daha fark²na varacaks²n²z, bir programlama dilinden ÷teye gidilen Visual Basic 5.0Æda kullan²c²n²n i■inin bir yandan ne kadar kolay bir dⁿzeye indirildi≡ini g÷rⁿrken ayn² zamanda kompile olaylar²n nas²l ⁿstesinden gelindi≡ine de ■ahit olacaks²n²z.
Sayfaya ilk bakt²≡²n²zda "Form Layout Window" ve "Form Editor" adl² iki yeni pencereye rastl²yorsunuz. ▌τerisinde kⁿτⁿk bir pencere resmi bulunan "Form Layout Window" sayesinde art²k formlar²n ekran²n neresinde g÷rⁿnmesini istiyorsan²z kolayca oraya ta■²yabiliyorsunuz.
Ayn² zamanda Format menⁿsⁿnde de bir kopyas²n² bulabilece≡iniz Form Editor ise birden fazla kontolⁿ ayn² anda biτimlendirmek, formun dⁿzenini sa≡lamak iτin kullan²l²yor. Visual BasicÆin ÷nceki sⁿrⁿmlerinde kulland²≡²n²z birτok kontrolⁿ Properties kutucu≡u yoluyla de≡i■tirme imkan² Form Edit÷rⁿ sayesinde τok daha esnek bir hale getirilmi■.
VBÆnin her sⁿrⁿmⁿnde az τok de≡i■ikli≡e u≡rayan Properties kutusu VB5.0 ile bamba■ka bir g÷rⁿnⁿm kazanmam²■ ama i■levselli≡i artt²r²lm²■, yeni kutunun en gⁿzel ÷zelli≡i listeden seτilen kontrol ÷zelliklerinin k²sa aτ²klamalar²n² kutun hemen alt²nda bir pencerede g÷rebilmeniz. Properties kutusu ayr²ca isim ve kategorilere g÷re ayr²lm²■, kullan²c² kendi iste≡ine g÷re kontrol ÷zeliklerini harf s²ras²na veya kategorilere g÷re listeleyebiliyor.
Kod penceresine ilk bak²ld²≡²nda her zamanki gibi sol tarafta kontrol sa≡ tarafta ÷zellik kutular²n² g÷rⁿyorsunuz, "bir kaτ sat²r kod yazal²m bakal²m" dedi≡inizde ise bⁿtⁿn i■ler de≡i■iyor, τⁿnkⁿ VB yazd²≡²n²z ilk kontrol isminde veya komutÆta size bir sⁿrpriz haz²rlam²■ oluyor.
Belki de yeni VBÆnin en can al²c² ÷zelliklerinden biri olan kod yard²m² gerτekten sⁿper tasarlanm²■, kullan²c² bir kontrol ismi girdi≡inde VB kontrol ile ilgili kullanabilece≡iniz tⁿm ÷zellikleri bir araya getiriyor ve bir liste haz²rl²yor, programc²ya sadece ok tu■lar²yla uygun ÷zelli≡i bulup ENTER ile kodlar²n aras²na eklemek kal²yor. Pencereye bir komut girildi≡inde ise VB hemen ilgili komut iτin bir yard²m baloncu≡u τ²kar²yor.
Kod yard²m² sadece kontroller ve komutlar iτin de≡il tⁿm s²n²flar, de≡erler gibi VBÆnin tⁿm bile■enleri iτin geτerli. VB 4.0 ile gelen altyordamlar²n τizgi ile ayr²lma ÷zelli≡i VB5Æde default olarak geliyor.
Programlar art²k bir proje gibi de≡il de bir "GRUP" gibi g÷rⁿnⁿyor, kod a■amas²nda yazd²≡²n²z tⁿm ActiveX kontrolleri, d÷kⁿmanlar², s²n²flar ve formlar VB5Æde bir grup gibi g÷rⁿnⁿyor. VB5 tⁿm bir projeyi kaydetmek istedi≡inizde projenin soyad²n² VBG olarak at²yor. Grup mant²≡² iτerisinde kontrolleri ve di≡er bile■enleri ba■ka projelerde veya tek ba■²na kullanabilseniz bile gruplar, ÷rne≡in bir ActiveX kontrolⁿ bulunamad²≡²nda hata veriyor ve τal²■m²yor.
Programlar²n²z²n tⁿm hiyerar■isini her zamanki gibi Project penceresinde g÷rebiliyor ve de≡i■tirebiliyorsunuz, her ActiveX d÷kⁿman², s²n²f, form ve ileride de≡inece≡imiz "Property Page" yarat²ld²≡² anda burada beliriyor.
Kontrol ÷zelliklerini "Expose Etmek"
Bir Visual Basic kontrolⁿnⁿ seτti≡inizde ve properties kutusuna bakt²≡²n²zda onun kullanabilece≡iniz tⁿm ÷zelliklerini g÷rⁿrsⁿnⁿz. Kendi tasarlad²≡²n²z kontroller iτin de de≡i■en bir ■ey yok. Kontrol, tasar²m a■amas²ndayken tⁿm ÷zellikleri properties kutucu≡unda beliriyor, fakat kontrolⁿ form ⁿzerine yerle■tirdi≡inizde i■ler de≡i■iyor τⁿnkⁿ kontrolⁿn sadece renk boyu gibi temel ÷zelliklerini listede g÷rebiliyorsunuz. MicrosoftÆun amac² son kullan²c²n²n bir kontrolⁿn tⁿm ÷zelliklerini de≡il sadece programc²n²n tayin etti≡i ÷zellikleri ÷zellikleri g÷rebilmesini sa≡lamak. Bu da Visual Basic 5Ædeki
baz² komutlar ve sihirbazlarla sa≡lanm²■. Menⁿlerden bulaca≡²n²z "ActiveX Control Wizard" ile kontrolde program²n²z taraf²ndan kullanaca≡²n²z ÷zellikleri seτebilir yani kontrol ÷zelliklerinin baz²lar²n² expose edebilirsiniz.
Bir kontrolⁿ expose etti≡inizde a■a≡²daki gibi kodlar ortaya τ²kacakt²r. Get Color ve Let Color kontrol ÷zelliklerinin form iτinden hem okunmas²n² hem de de≡i■tirilmesini sa≡lamak amac²yla kullan²lm²■t²r.
Option Explicit Public Property Get Color() As Long Color = BackColor End Property Public Property Let Color(NewValue As Long) BackColor = NewValue End Property Private Sub UserControl_Initialize() End SubProperty Page
Program iτerisinde bir kontrol en fazla 1 property pageÆe sahip olabilirken projede istedi≡iniz kadar property page kullanabilirsiniz.
Visual BasicÆde yeni bir fonksiyon: enumerate
Bir de≡i■kene atanabilen tⁿm de≡erleri teker teker saymak anlam²na gelen "enumerate" olay² MS Visual C++ gibi gⁿτlⁿ programlama dillerinde τok ÷nceleri kullan²lmaya ba■lansa da Visual BasicÆe hiτ bir zaman dahil edilmemi■ti. VB5 ile birlikte ENUM fonksiyonunu APIÆlerden τa≡r²lmas²na izin verilmi■.
A■a≡²daki kⁿτⁿk program fonksiyonun yapabileceklerinin en gⁿzel kan²t². Form ⁿzerinde bir liste kutusu bir de komut butonu yaratt²ktan sonra a■a≡p²daki kodlar² girin. Program, Windows iτinde aτ²k olan tⁿm pencereleri, aτ²klamalar²n² ve kodlar²n² liste kutusuna yazacakt²r.
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, _ ByVal lParam As Long) As Long Function enumerate(ByVal xhwnd As Long, ByVal lret As Long) As Boolean If lret = 0 Then enumerate = False Else Form1.List1.AddItem CStr(xhwnd) enumerate = True End If End Function Private Sub Command1_Click() Dim x As Integer x = EnumWindows(AddressOf enumerate, 5) Select Case x Case 0 MsgBox "Hata olu■tu" Case Else MsgBox "Tⁿm uygulamalardaki pencere say²s² " & List1.ListCount End Select End Sub
╓ncelikle VB aτ²ld²≡²nda yeni bir ActiveX kontrolⁿ yarat²n ve bunun iτerisine rastgele i■ler yapan bir buton v.s. yerle■tirin. Bundan sonra yeni bir form yarat²n ve arkada kalan ActiveX kontrolⁿnⁿ "silmeden tamamen KAPATIN", kontrol τobu≡unda silik olan bir buton, renklenecek ve kullan²labilir hale gelecektir. Bu butona basarak formunuzun ⁿstⁿne gidin ve sa≡ tu■a bas²l² olarak formun ⁿzerine bir kare τizin. ▐u anda kendi yaratt²≡²n²z ve MicrosoftÆun liste kutusu, klas÷r kutusu gibi ve ayn² kategoriye giren bir ActiveX kontrolⁿnⁿ formunuzun ⁿstⁿne yerle■tirdiniz. VB5 ayr²ca kontrolleri derleyerek OCX haline getirmenizi ve sonradan formlar²n²z²n iτinde bunlar² tekrar kullanabilmenize izin vermektedir.
Bu i■lemlerden sonra VB projenizi DENEME.VBG olarak kaydedin ve "Application Setup Wizard"² τal²■t²r²n. Bu program size ne tip bir uygulama yapmak istedi≡inizi sordu≡unda ona ActiveX uygulamas² olarak cevap verin ve DENEME.VBGÆyi seτerek i■leme ba■lay²n. Tⁿm i■lemler bitti≡inde program² derlendi≡iniz dizinde bir CAB uzant²l² bir de HTM uzant²l² ili dosya ile kar■²la■acaks²n²z. HTM dosyas²n²n iτeri≡ine bakt²≡²n²zda VB taraf²ndan otomatik olarak yaz²lm²■ olan a■a≡²dakine benzer kodlarla kar■²la■acaks²n²z.
Nihayet HTM sayfas²n² Explorer ile g÷rⁿntⁿledi≡inizde kontrolⁿn ayn² Visual Basic formunda τal²■t²≡² gibi τal²■t²≡²na ■ahit olacaks²n²z. En sonunda Internet ⁿzerinde de τal²■abilen bir uygulama geli■tirdiniz.